﻿//-----------------------------------------------------------------------
// <copyright file="IToolStripItem.cs" company="Noboru Project">
//      Copyright (c) Noboru Project. All rights reserved.
//
//      This source code is subject to terms and conditions of the New BSD License (BSD).
//      A copy of the license can be found in the License.html file at the root of this 
//      distribution. If you can not locate the New BSD License (BSD), please send an 
//      email to noboru_adm@live.com.
//      By using this source code in any fashion, you are agreeing to be bound by
//      the terms of the New BSD License (BSD) for Noboru.
//
//      You must not remove this notice, or any other, from this software.
// </copyright>
//-----------------------------------------------------------------------

using System;

namespace Noboru.Windows.Controls
{
    /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.Class"]/*' />
    public interface IToolStripItem
    {
        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.Checked"]/*' />
        event System.Windows.RoutedEventHandler Checked;

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.Click"]/*' />
        event System.Windows.RoutedEventHandler Click;

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.ImageMarginChanged"]/*' />
        event EventHandler ImageMarginChanged;

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.ImageSourceChanged"]/*' />
        event EventHandler ImageSourceChanged;

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.Indeterminate"]/*' />
        event System.Windows.RoutedEventHandler Indeterminate;

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.TextChanged"]/*' />
        event EventHandler TextChanged;

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.TextMarginChanged"]/*' />
        event EventHandler TextMarginChanged;
        
        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.Unchecked"]/*' />
        event System.Windows.RoutedEventHandler Unchecked;

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.CheckOnClick"]/*' />
        bool CheckOnClick { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.GroupName"]/*' />
        string GroupName { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.ImageMargin"]/*' />
        System.Windows.Thickness ImageMargin { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.ImageSource"]/*' />
        System.Windows.Media.ImageSource ImageSource { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.IsChecked"]/*'/>
        bool? IsChecked { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.IsEnabled"]/*'/>
        bool IsEnabled { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.Text"]/*' />
        string Text { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.ITextImageRelation"]/*' />
        TextImageRelation TextImageRelation { get; set; }

        /// <include file='Documentation\IToolStripItemDocumentation.uex' path='Members/Member[@for="IToolStripItem.TextMargin"]/*' />
        System.Windows.Thickness TextMargin { get; set; }
    }
}
